From: Jan D. Date: Tue, 12 Jan 2010 08:12:52 +0000 (+0100) Subject: keyboard.c (read_char): Return after executing from special map. X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~324^2~8236^2~43 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=3a76334accf4379a94108a64f3f44c095e78313d;p=emacs.git keyboard.c (read_char): Return after executing from special map. --- diff --git a/src/ChangeLog b/src/ChangeLog index 5b5b1533f76..392b9550eda 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2010-01-12 Jan Djärv + + * keyboard.c (read_char): Return after executing from special map. + 2010-01-12 Glenn Morris * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to diff --git a/src/keyboard.c b/src/keyboard.c index 13d13cd3276..8bd8cf30468 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3178,7 +3178,10 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) unbind_to (count, Qnil); #endif - goto retry; + /* The command may have changed the keymaps. Pretend there is input + in another keyboard and return. This will recalculate keymaps. */ + c = make_number (-2); + goto exit; } /* Handle things that only apply to characters. */